<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <title>列表过滤_用switch</title>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
<!-- 准备好一个容器-->
<div id="root">
    <input type="text" placeholder="请输入名字" v-model="keyWord">
    <ul>
        <li :key="item.id" v-for="(item,index) in fmtPersons">{{item.name}} -- {{item.age}} -- {{item.sex}}</li>
    </ul>
</div>


<script type="text/javascript">
    Vue.config.productionTip = false
    new Vue({
        el:'#root',
        data:{
            keyWord:'',
            persons:[
                {id:'001',name:'马冬梅',age:19,sex:'女'},
                {id:'002',name:'周冬雨',age:18,sex:'女'},
                {id:'003',name:'周杰伦',age:21,sex:'男'},
                {id:'004',name:'温兆伦',age:20,sex:'男'}
            ],//原始人员列表
            fmtPersons:[]//经过过滤之后的人员列表
        },
        watch:{
            keyWord: {
                immediate: true,
                handler(value){
                   /* console.log('keyword变了,我要去persons中找到与关键字匹配的人',value)*/
                    /*把符合条件的筛选一遍组成的新数组 赋值给data中的fmtPersons 然后再模板里直接遍历这个就可以了*/
                    this.fmtPersons=this.persons.filter((p,index)=>{
                        return p.name.indexOf(value)!==-1// 存在的情况下我在返回
                    })
                }
            }
        }
    })
</script>
</body>
</html>